// 自己搞一个汇编看看

.text
.section .rodata
.LC0:
    .string "n = %d\n"

.text
.globl main
.type main, @function
main:
    pushq %rbp
    movq %rsp, %rbp

    // 两个指针和一个int变量 8 * 2 + 4 = 20
    subq $32, %rsp
    // 分配一下局部变量
    // pp2: -8(%rbp)
    // p1: -16(%rbp)
    // n: -20(%rbp)

    // n = 13
    movl $13, -20(%rbp) /* n */

    // pp2 = &p1
    leaq -16(%rbp) /* p1 */, %rax
    movq %rax, -8(%rbp) /* pp2 */

    // *pp2 = &n
    movq -8(%rbp) /* pp2 */, %rax
    leaq -20(%rbp) /* n */, %rdx
    movq %rdx, (%rax)

    // *p1 = 10
    movq -16(%rbp) /* p1 */, %rax
    movl $10, (%rax)

    movl -20(%rbp) /* n */, %esi
    movq $.LC0, %rdi
    // leaq .LC0(%rip), %rdi
    movl $0, %eax
    call printf

    movl $0, %eax
    movq %rbp, %rsp
    popq %rbp
    ret